1. Field of the Invention
The present invention relates to control for a servo motor employed for a machine tool or the like, more particularly, to a predictive repetition control method and an apparatus therefor which provides a servo motor control capable of responding with high accuracy to a command repeatedly supplied at intervals of a predetermined period even if the command contains an asynchronous component.
2. Description of the Related Art
Generally, a servo motor for controlling a machine tool is controlled so that a deviation between a move command (for example, speed or position) as a commanded input and a move amount (for example, actual speed or actual position) as an output of the servo motor is made zero. In such a servo motor control, where the input command is repeatedly supplied at intervals of a predetermined period and in the same pattern, repetitive control (or learning control) is employed to converge the control deviation to zero for accurate motor control and improving machining accuracy.
FIG. 5 (Prior Art) is a block diagram showing, by way of example, a principal part of servo motor control to which the aforementioned repetitive control is applied.
In FIG. 5, r is a speed command; E is a speed deviation between the speed command r and an actual speed .omega.; numeral 30 is a speed loop transfer function which includes an integrator for detecting a positional deviation and executes PI (Proportional Integration) control, etc., in a conventional manner. Furthermore, in this example, a repetitive controller 20 for executing repetitive control (or learning control) is added. The controller 20 comprises a bandpass limit filter 21, a delay element 22 for storing one-period data which is repeatedly supplied at intervals of a predetermined period M, and a dynamic characteristic compensation element 23 for compensating a phase delay of the control object and lowering of gain.
At intervals of a predetermined sampling period t, the repetitive controller 20 adds data Em, delivered from the delay element 22 at the sampling time preceding by one period M, to the speed deviation E, performs the processing of the bandpass limit filter 21, and stores the resultant data in the delay element 22. The delay element 22, which has Q (=M/t) memories, is designed to store each sampling data of one period M, and output the oldest data at each sampling time. That is, at each sampling time, the delay element stores the input data in the memory of "0"th address, and outputs data stored in the (Q-1)th address, with data in each address being shifted to the next address. As a consequence, the delay element 22 can output sampling data delayed by one period M. Therefore, when a speed command r is supplied at intervals of the period M and in the same pattern, the speed deviation E and the delay element 22 are added together, and thus, data located at the same position on the pattern of the speed command r is stored as correction data.
Moreover, the output of the delay element 22 is supplied to the dynamic characteristic compensation element 23, where a phase delay and fall of the gain of the control object are compensated. Then, the delay element output is delivered as an output y of the repetitive controller 20. Further, the output y is added to the speed deviation E, and, in accordance with thus added data, the speed loop processing is carried out.
As a result, when the speed deviation E has a large value at the preceding sampling period (a sampling period immediately before a certain sampling period) while the identical pattern processing is repeated at intervals of the predetermined period M, a large output y is delivered from the repetitive controller 20 in the current sampling period, and is added to the speed deviation. Therefore, the speed deviation to be supplied to the speed loop processing varies largely, and an actual speed .omega. responsive to thus supplied speed deviation also varies largely, whereby the speed deviation E is corrected to be rapidly converged to zero, and this enables the motor control with high accuracy (See Japanese Laid-open Patent Publication No. H2-307104, Patent Applications Nos. H1-314154 and H2-124254).
If a command of a type shown in FIG. 5, which is to be repeated at a predetermined period, contains a frequency f=k/M (k=0, 1, 2, . . .), i.e., a component synchronized with the command, highly accurate response can be obtained by the repetitive control. If an asynchronous component (a frequency f=k/M, where a value of k is not an integer) is contained in the command, a command pattern differs by respective periods M, and so it is difficult to make the deviation zero.